<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>
        /*强制类型转换
        * 指将一个其他数据类型转换为其他数据类型
        * 一般时将其他数据类型转换为
        * String Number Boolean
        *
        * */

        /*
        * 将其他数据类型转换为String
        * 方式一：
        * 调用被转换数据类型的toString()方法
        * 该方法不会影响原变量，它会将转换的结果返回
        * 谁谁谁的什么什么方法就是：谁谁谁.方法
        *
        * 方式二：
        * 调用String()函数，并将被转换的数据作为参数传递给函数
        * 使用String()函数，做强制转换时
        * 对于Number和Boolean实际上就是调用toString()方法
        * 但是对于null和undefined,不会调用toString()方法
        * 而是直接将null转换为"null";直接转成字符串
        *
        * */
        var a = 123;
        //调用a的toString()方法
        //先把a转换成字符串，而后在赋值给a
        a = a.toString();

        a = true;
        a = a.toString();

        //注意null和undefined没有toString();方法
        //a = null;
        //a = a.toString();
        //a = undefined;
        //a = a.toString();
        //var b = a.toString();

        //console.log(typeof b);
        //console.log(b);
        //console.log(typeof a);
        //console.log(a);

        a = 123;
        //调用String()函数
        a = String(a);//函数就是作为参数返回，然后重新给a赋值

        a = null;
        a = String(a);

        a = undefined;
        a = String(a);

        console.log(typeof a);
        console.log(a)

    </script>
</head>
<body>

</body>
</html>